package com.bvgol.examples.springboot.mybatismultiple.controller;

import com.bvgol.examples.springboot.mybatismultiple.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * 用户信息表(User)表控制层
 *
 * @author guochen
 * @since 2021-04-07 14:14:49
 */
@RestController
@RequestMapping("user")
public class UserController {
    /**
     * 服务对象
     */
    @Resource
    private UserService userService;

//    /**
//     * 保存
//     *
//     * @param obj 可以是vo 或者是pojo
//     * @return 标准返回
//     */
//    @PostMapping("save")
//    public R save(@RequestBody User obj) {
//        boolean result = this.userService.save(obj);
//        if (result) {
//            return R.ok();
//        } else {
//            return R.error();
//        }
//    }
//
//    /**
//     * 通过主键删除单条数据
//     *
//     * @param id 主键
//     * @return 标准返回
//     */
//    @DeleteMapping("deleteById/{id}")
//    public R deleteById(@ApiParam(value = "id", required = true) @PathVariable("id") Integer id) {
//        boolean result = this.userService.removeById(id);
//        if (result) {
//            return R.ok();
//        } else {
//            return R.error();
//        }
//    }
//
//    /**
//     * 修改update
//     *
//     * @param obj 可以是vo 或者是pojo
//     * @return 标准返回
//     */
//    @PutMapping("update")
//    public R update(@RequestBody User obj) {
//        boolean result = this.userService.updateById(obj);
//        if (result) {
//            return R.ok();
//        } else {
//            return R.error();
//        }
//    }
//
//    /**
//     * 通过主键查询单条数据
//     *
//     * @param id 主键
//     * @return 标准返回
//     */
//    @GetMapping("getById/{id}")
//    public R getById(@ApiParam(value = "id", required = true) @PathVariable("id") Integer id) {
//        User user = this.userService.getById(id);
//        return R.ok().data("user", user);
//    }
//
//    /**
//     * 通过条件查询分页
//     *
//     * @param obj 条件对象
//     * @return 标准返回
//     */
//    @PostMapping("getPageByQuery/{page}/{size}")
//    public R getPageByQuery(@ApiParam(value = "page", defaultValue = "1") @PathVariable("page") int page,
//                            @ApiParam(value = "size", defaultValue = "10") @PathVariable("size") int size,
//                            @RequestBody User obj) {
//        IPage<User> pageUser = new Page<>(page, size);
//        LambdaQueryWrapper<User> query = new LambdaQueryWrapper<>();
//        userService.page(pageUser, query);
//        Map<String, Object> map = new HashMap<>(16);
//        map.put("total", page$tableInfo.name.getTotal());
//        map.put("rows", page$tableInfo.name.getRecords());
//        return R.ok().data(map);
//    }

    /**
     * @param
     * @return
     * @Classname UserController
     * @Description TODO
     * @Date 2021/4/7 14:30
     * @auther by GUOCHEN
     */
    @GetMapping("/selectAll")
    public Object selectAll() {
        return userService.queryAllByLimit(0, 100);
    }

}
